If you want to connect to an interactive read-eval-print-loop via tcp sockets, this might be helpful:
(import (chicken tcp)) (define (remote-repl #!optional (port 9999)) (let*-values (((x) (tcp-listen port)) ((i o) (tcp-accept x))) (current-input-port i) (current-output-port o) (current-error-port o) ;(when (provided? 'debug) (set! ##dbg#command-output-port o)) ; in case you use the debug egg (repl))) (remote-repl)
It is important to start the listening executable with the -:c runtime-option, to force output of the prompt (even if not communicating with a terminal port).
If you compile and run this program, you should be able to connect to it via telnet:
% telnet localhost 9999 Trying ::1... telnet: connect to address ::1: Connection refused Trying 127.0.0.1... Connected to localhost. Escape character is '^'. #;> 123 123 #;>
See also the nrepl egg.